<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=theme-color content=#39b6ff><meta name=viewport content="width=device-width,initial-scale=1,user-scalable=no,maximum-scale=1"><!--[if IE]><link rel="icon" href="/resources/mobile/mall/xn/newm/favicon.ico" /><![endif]--><link rel=stylesheet href=https://at.alicdn.com/t/font_738716_000mtvubl1pxjo.css><title>zx-app</title><style type=text/css>#app {
        max-width: 750px;
        margin: 0 auto;
      }
      #loading {
        width: 100%;
        height: 100vh;
        position: absolute;
        z-index: 99999;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
      }
      #loading .wave {
        width: 20px;
        position: relative;
        transform-style: preserve-3d;
        perspective: 1000;
        -webkit-perspective: 1000;
        transform: scale3d(0.4, 0.4, 0.4);
      }
      #loading .wave .dot {
        width: 20px;
        height: 5px;
        background-color: #64b5d3;
        display: inline-block;
        vertical-align: middle;
        margin: 14px auto;
        position: relative;
        transform: scale(0.6);
      }
      #loading .wave .dot:before,
      #loading .wave .dot:after {
        content: '';
        display: inline-block;
        vertical-align: middle;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        position: absolute;
        top: -10px;
        left: -1px;
      }
      #loading .wave .dot:before {
        animation: Before 1.9s cubic-bezier(0.42, 0, 0.58, 1) infinite;
        animation-fill-mode: forwards;
        background-color: #19cbeb;
        box-shadow: inset 2px 2px 5px #38bddf 10;
      }
      #loading .wave .dot:after {
        animation: After 1.9s cubic-bezier(0.42, 0, 0.58, 1) infinite;
        animation-fill-mode: forwards;
        background-color: #009dff;
        box-shadow: inset 2px 2px 5px #20a9ff;
      }
      
      #loading .loading-container {
        width: 80px;
        height: 80px;
        position: relative;
        border-radius: 40px;
        display: flex;
        align-items: center;
        justify-content: center;
        /* border: 1px solid rgba(0, 157, 255, 0.3); */
        box-sizing: border-box;
        animation: geneRotate 3s linear 0s infinite;
        -moz-animation: geneRotate 3s linear 0s infinite; /* Firefox */
        -webkit-animation: geneRotate 3s linear 0s infinite; /* Safari 和 Chrome */
      }

      #loading .wave .dot:nth-child(1):before,
      #loading .wave .dot:nth-child(1):after {
        animation-delay: -1.71s;
      }
      #loading .wave .dot:nth-child(2):before,
      #loading .wave .dot:nth-child(2):after {
        animation-delay: -3.42s;
      }
      #loading .wave .dot:nth-child(3):before,
      #loading .wave .dot:nth-child(3):after {
        animation-delay: -5.13s;
      }
      #loading .wave .dot:nth-child(4):before,
      #loading .wave .dot:nth-child(4):after {
        animation-delay: -6.84s;
      }
      #loading .wave .dot:nth-child(5):before,
      #loading .wave .dot:nth-child(5):after {
        animation-delay: -8.55s;
      }
      #loading .wave .dot:nth-child(6):before,
      #loading .wave .dot:nth-child(6):after {
        animation-delay: -10.26s;
      }
      .circleBox {
        width: 80px;
        height: 80px;
        position: absolute;
        top: 0;
        left: 0;
      }
      .circleBox .circle{
        width: 80px;
        height: 80px;
        border-radius:50%;
        position:absolute ;
        top:0;
        left: 0;
        border: 1px solid #009dff;
        box-sizing: border-box;
      }
      .circle1{
          animation: myfirst 3s linear 0s infinite;
          -moz-animation: myfirst 3s linear 0s infinite; /* Firefox */
          -webkit-animation: myfirst 3s linear 0s infinite; /* Safari 和 Chrome */
        }
      @keyframes myfirst{
        0% {
          -webkit-transform: scale(1);
          transform: scale(1);
          opacity:0.2;
        }
        50% {
          -webkit-transform: scale(2);
          transform: scale(2);
          opacity: 0;
        }
        100% {
          -webkit-transform: scale(2);
          transform: scale(2);
          opacity: 0;
        }
      }
      @keyframes geneRotate{
        0% {
          -webkit-transform: rotateZ(0);
          transform: rotateZ(0);
        }
        60% {
          -webkit-transform: rotateZ(0);
          transform: rotateZ(0);
        }
        100% {
          -webkit-transform: rotateZ(360deg);
          transform: rotateZ(360deg);
        }
      }
      @keyframes Before {
        0% {
          left: -40px;
          z-index: 10;
        }
        25% {
          transform: scale(1.4);
          z-index: 10;
        }
        50% {
          left: 40px;
          z-index: 1;
        }
        75% {
          background-color: #41c9eb;
          box-shadow: inset 2px 2px 5px #92d9fa;
          transform: scale(0.6);
          z-index: 1;
        }
        100% {
          left: -40px;
          z-index: 1;
        }
      }
      @keyframes After {
        0% {
          left: 40px;
          z-index: 1;
        }
        25% {
          background-color: #98d7ff;
          box-shadow: inset 2px 2px 5px #97d7ff;
          transform: scale(0.6);
          z-index: 1;
        }
        50% {
          left: -40px;
          z-index: 10;
        }
        75% {
          transform: scale(1.4);
          z-index: 10;
        }
        100% {
          left: 40px;
          z-index: 10;
        }
      }</style><link href=/resources/mobile/mall/xn/newm/css/chunk-0a6de766.0d18744a.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-0fa9f8ea.ab873c00.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-291c813c.f14d9615.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-2d7df695.5670719b.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-2d87959d.dfb43de8.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-2e4a5f81.e6d05c28.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-3c441992.e06c38a9.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-3d6d0fd6.86756b9a.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-41fccd1e.ae3f6d24.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-49ae1beb.600fd92c.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-53c17c46.1c87738e.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-5a60098c.49ca7e3c.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-6642543c.86a74d5f.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-75c36cf2.ca471d42.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-817fd4f0.295ccf47.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-9c15550c.e7792c81.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-b39bb438.c9c18b77.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-b5c39500.82bf5f9a.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-bf686566.d13e11c0.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-cc532e8a.bd1a2d25.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-ce132bdc.0bd6c0e5.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-dbbc8bb0.6629fc77.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-ecb6a962.fce99cd0.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-f2958364.d6fd9d45.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/chunk-fac90f4a.363ba236.css rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-0a6de766.d36f22aa.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-0fa9f8ea.87b74128.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-291c813c.8554426c.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-2d7df695.443ac146.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-2d87959d.1cc63045.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-2e4a5f81.325614ab.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-3c441992.1ef96729.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-3d6d0fd6.aab98adc.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-41fccd1e.aa9a2445.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-49ae1beb.c74d5087.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-53c17c46.d36e01e2.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-5a60098c.da0d20b8.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-6642543c.afeb7dab.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-75c36cf2.5e130e71.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-817fd4f0.303e5cdb.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-9c15550c.50f2d0e5.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-b39bb438.86bfc530.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-b5c39500.92064e35.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-bf686566.96682fcb.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-cc532e8a.2944201e.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-ce132bdc.494f16e8.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-ce372400.fb1e2c22.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-dbbc8bb0.b6212b6b.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-ecb6a962.dbd922c1.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-f2958364.8ef14b5a.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/js/chunk-fac90f4a.a282240c.js rel=prefetch><link href=/resources/mobile/mall/xn/newm/css/app.617ae39f.css rel=preload as=style><link href=/resources/mobile/mall/xn/newm/css/chunk-vendors.422f5c8d.css rel=preload as=style><link href=/resources/mobile/mall/xn/newm/js/app.0b2e0b8e.js rel=preload as=script><link href=/resources/mobile/mall/xn/newm/js/chunk-vendors.835f43f3.js rel=preload as=script><link href=/resources/mobile/mall/xn/newm/css/chunk-vendors.422f5c8d.css rel=stylesheet><link href=/resources/mobile/mall/xn/newm/css/app.617ae39f.css rel=stylesheet><link rel=icon type=image/png sizes=32x32 href=/resources/mobile/mall/xn/newm/img/icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/resources/mobile/mall/xn/newm/img/icons/favicon-16x16.png><link rel=manifest href=/resources/mobile/mall/xn/newm/manifest.json><meta name=theme-color content=#39b6ff><meta name=apple-mobile-web-app-capable content=yes><meta name=apple-mobile-web-app-status-bar-style content=#39b6ff><meta name=apple-mobile-web-app-title content=genebook><link rel=apple-touch-icon href=/resources/mobile/mall/xn/newm/img/icons/apple-touch-icon-152x152.png><link rel=mask-icon href=/resources/mobile/mall/xn/newm/img/icons/safari-pinned-tab.svg color=#39b6ff><meta name=msapplication-TileImage content=/resources/mobile/mall/xn/newm/img/icons/msapplication-icon-144x144.png><meta name=msapplication-TileColor content=#000000></head><body><noscript><strong>We're sorry but zx-app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id=loading><div class=loading-container><div class=wave><div class=dot></div><div class=dot></div><div class=dot></div><div class=dot></div><div class=dot></div></div><div class=circleBox><div class="circle circle1"></div></div></div></div><div id=app></div><script src=/resources/mobile/mall/xn/newm/js/chunk-vendors.835f43f3.js></script><script src=/resources/mobile/mall/xn/newm/js/app.0b2e0b8e.js></script></body><script>var ua = window.navigator.userAgent
        var originalHeight = document.documentElement.clientHeight || document.body.clientHeight
        document.body.style.height = originalHeight + 'px'
        window.addEventListener('resize', function () {
          var resizeHeight = document.documentElement.clientHeight || document.body.clientHeight;
          if (originalHeight > resizeHeight && /MiuiBrowser/ig.test(ua)) {
            // Android 键盘收起后操作
            // 修复小米浏览器下，输入框依旧被输入法遮挡问题
            document.body.style.marginBottom = '32px';
          } else {
            document.body.style.marginBottom = 0
          }
          // originHeight = resizeHeight;
        }, false)</script></html>